iT邦幫忙

2022 iThome 鐵人賽

DAY 15
0

尋找與過濾 Filter and Edit

最近有朋友跟我說我前陣子寫的關於 Pandas 中常見的 Excel 文章,對於幫助新的 Pandas 用戶將 Excel 過程轉化為代碼很有幫助。這件事情讓我感到開心,我將延續這一傳統以 Excel 中的 Filter 函數為模型,說明各種pandas索引的過程。

布林索引 Boolean Indexing

現在我想通過一些細節來了解 Pandas 中的布林索引。如果你想理解 Pandas 的數據索引和選擇,這是一個重要的概念。這個概念對於新的 Python 用戶來說可能有點複雜,但我認為花點時間理解它是很重要的。如果你掌握了這個概念,在pandas中處理數據的基本過程就會更加簡單明瞭。Pandas 支持通過使用標籤、基於位置的整數或布林值(真/假)的列表來選擇數據,使用布林值列表來選擇一行被稱為布林索引,我們手動製造一個資料集。

import pandas as pd
sales = [('account', ['Jones LLC', 'Alpha Co', 'Blue Inc', 'Mega Corp']),
         ('Total Sales', [150, 200, 75, 300]),
         ('Country', ['US', 'UK', 'US', 'US'])]
df = pd.DataFrame.from_dict(dict(sales)) 
df

https://ithelp.ithome.com.tw/upload/images/20220929/20140740L6Mo0cnWZC.png

索引 Index

注意到 0-3 的值是如何被自動分配到行中的嗎?這些就是索引(Index),它們在這個數據集中並沒有什麼特別的意義,但是對於 Pandas 來說就像是住址一樣重要。如果我們想查看下方數據,我們可以看到 True/False 列表會是這樣被使用的。

indices = [True, False, True, True]
df[indices]

https://ithelp.ithome.com.tw/upload/images/20220929/20140740ILy3aHVBsf.png

Python 表達式

pandas使得使用簡單的查詢語言來創建這些布爾索引變得非常容易,使用過 Python 的人應該對這些語言很熟悉。舉個例子,讓我們看一下美國銷售線,我們可以利用一種表達式來查詢。

df.Country == 'US'

https://ithelp.ithome.com.tw/upload/images/20220929/201407405ROgs8zoZ7.png

Python DataFrame 表

布林索引是在 Pandas 中選擇數據行的強大而有用的方法之一。 讓我們看看一些例子的DataFrames來幫助澄清pandas中的布林索引的作用。雖然這個概念很簡單,但你可以利用 Python 來編寫複雜邏輯過濾你的數據,參考以下數據可以在 DataFrame 中應用。

df[df["Country"] == 'US']

https://ithelp.ithome.com.tw/upload/images/20220929/20140740ae1DlM34t4.png

謝謝大家的觀看,但歷史的痕跡會持續下去

今年沒組團,每一筆一字矢志不渝的獻身精神都是為歷史書寫下新頁,有空的話可以走走逛逛我們去年寫的文章。


Hi'Jerry均

Jerry 據說是個僅佔人口的 4% 人口的 INFP 理想主義者,總是從最壞的生活中尋找最好的一面,想方設法讓世界更好,內心的火焰和熱情可以光芒四射,畢業後把人生暫停了半年,緩下腳步的同時找了份跨領域工作。偶而散步、愛跟小動物玩耍。曾立過很多志,最近是希望當一個有夢想的人。

謝謝你的時間「訂閱,追蹤和留言」都是陪伴我走過 30 天鐵人賽的精神糧食。


上一篇
Ɖ14-香料/ pd.merge 資料檔案合併分類計算
下一篇
Ɖ16-香料/ 進階尋找與過濾
系列文
先別急著學 Python | The Secret to Success in Python30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言